home *** CD-ROM | disk | FTP | other *** search
- .386
- .MODEL FLAT,STDCALL
- locals
- jumps
- UNICODE=0
- include w32.inc
-
- Extrn SetUnhandledExceptionFilter : PROC
-
- .data
-
- sprava1 db "Anti-ProcDump trik",0
- sprava2 db "Zvadsil velkost suboru v jeho PE hlavicke",0
- odlozESP dd 0 ;sem uklada register ESP
- predchadzajuca dd 0 ;sem uklada adresu predchadzajucej obsluhy SEH
-
-
- .code
-
- Start:
-
- ;----------------------------------------------------------------------------
- ;NASTAVI SEH PRE PRIPAD CHYBY
- ;----------------------------------------------------------------------------
- mov [odlozESP],esp
- push offset chyba
- call SetUnhandledExceptionFilter
- mov [predchadzajuca], eax
- ;----------------------------------------------------------------------------
-
-
- mov eax,fs:[30h] ;nacita verziu Windows
-
- test eax,eax ;testuje verziu
- js nasiel_win9x ;ak je to Windows9x skoci
-
-
- nasiel_winNT: ;tu je uvedeny postup pre WindowsNT
-
- mov eax,[eax+0ch]
- mov eax,[eax+0ch]
- add dword ptr [eax+20h], 3000h ;zvacsi velkost programu
-
- jmp koniec ;skok, hotovo
-
-
- nasiel_win9x: ;tu je uvedeny postup pre Windows9x
- push 0
- call GetModuleHandleA ;zisti rukovat modulu
-
- test edx,edx
- jns koniec ;ak nastala chyba skoci
-
- cmp dword ptr [edx+08], -1 ;testuje, ci je tam hodnota -1
- jne koniec ;ak nie nastala chyba a skoci
-
- mov edx, [edx+4] ;zisti adresu PE hlavicky suboru
-
- add dword ptr [edx+50h], 3000h ;zvacsi velkost tak, ze zmeni v PE hlavicke polozku SizeOfImage
-
- koniec:
-
- ;----------------------------------------------------------------------------
- ;NASTAVI PREDCHADZAJUCU OBSLUHU SEH
- ;----------------------------------------------------------------------------
- push dword ptr [predchadzajuca]
- call SetUnhandledExceptionFilter
- ;----------------------------------------------------------------------------
-
- continiue:
- call MessageBoxA,0, offset sprava2, offset sprava1,0
- call ExitProcess, -1
-
-
- chyba: ;nova obsluha SEH pre pripad chyby
-
- mov esp, [odlozESP]
- push offset continiue
- ret
-
- ends
- end Start
-